// 防抖函数
/**
 * 防抖函数，用于防止短时间内重复触发事件
 * @param {Function} func - 需要防抖的函数
 * @param {number} wait - 等待时间，单位毫秒
 * @returns {Function} - 防抖后的函数
 */
export function debounce(func, wait = 500) {
  let timeout = null;
  return function(...args) {
    const context = this;
    // 清除之前的定时器
    if (timeout !== null) {
      clearTimeout(timeout);
    }
    // 设置新的定时器
    timeout = setTimeout(() => {
      func.apply(context, args);
      timeout = null;
    }, wait);
  };
}